'''
给你一个整数数组 nums 和一个整数 k ，请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

 

示例 1:

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
示例 2:

输入: nums = [1], k = 1
输出: [1]

'''
class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        hashFre = {}
        result = []
        for i in nums:
            hashFre[i] = hashFre.get(i, 0) + 1
        n = sorted(list(hashFre.values()), reverse = True)[k - 1]
        keys = list(hashFre.keys())
        values = list(hashFre.values())
        for i in range(len(hashFre)):
            if values[i] >= n:
                result.append(keys[i])
        return result